﻿// Variables asociadas a los formularios
var login_usuario 			= localStorage['login_usuario'];
var hay_conexion 			= localStorage['hay_conexion'];

var id_opcion				= null;
var id_averia 				= null;
var h_id_averia 			= null;
var id_senal 				= null;
var h_id_senal 				= null;
var id_motiv_ave 			= null;
var id_status_ave 			= null;
var fecha_reparacion 		= null;
var observaciones_ave 		= null;


// onDeviceReady - Phonegap inicializacion
function onDeviceReady() 
{
	validar_conexion_internet();
}


// pagebeforecreate
$( '#modificarAveria' ).live( 'pagebeforecreate',function(event){
  	
});


// pagecreate
$( '#modificarAveria' ).live( 'pagecreate',function(event){
	
	$("#div_datos_ave_consultar").hide();
	
	// Carga de Combos por Servicios
	// Combo Motivo Avería
	consultarComboMotivAve();
	
	// Combo Estatus Avería
	consultarComboStatusAve();
	
	// Seteamos los Valores correspondientes a la Alcaldia
	cargar_encabezado();
	cargar_pie_pagina();
	
	
	// OnClick
	$('#atras, #atras2').click(function()
	{
		location.href="SubMenuAveria.html";
	});
	
	$('#inicio').click(function()
	{
		location.href="MenuPrincipal.html";
	});
	
	
	$('#consultar').click(function()
	{
		var validacion = consultar_modificar_averia();
		if ( validacion ) {
			
			/*
			// Validamos la Conexión con el Servidor
			var conexion = checkConnection();
			
			// Si Hay Conexión con el Servidor -> Llamamos al Servicio
			if ( conexion ) {
			*/	
			
			// Si Hay Conexión con el Servidor -> Llamamos al Servicio
			if ( localStorage['hay_conexion'] == "true" )
			{
			
				// Llamamos al Servicio
				var ajaxManager = $.manageAjax.create('cola_ajax',{manageType: 'queue', maxReq: 0, blockSameRequest:true});
				
				ajaxManager.add({
					type: "POST",
					url:  url_servicio_averia,
					data: "servicio=consultar_modificar_datos_ave"+"&"+
						  "id_municipio_base="+id_municipio_base+"&"+
						  "id_averia="+id_averia+"&"+
						  "device_uuid="+device.uuid+"&"+
						  "device_platform="+device.platform+"&"+
						  "login_registro="+login_usuario,
					dataType: 'xml',
					success: function(response_xml)
					{
						$xml_resultado = $(response_xml);
						$status = $xml_resultado.find("status");
						
						if($status.length)
						{
							$status.each(function()
							{
								if($(this).text()=="S")
								{
									
								}
								else if($(this).text()=="N")
								{
									
								}
							});
							
							$datos_ave = $xml_resultado.find("datos_ave");
							
							if($datos_ave.length)
							{
								if ( $datos_ave.text() != "VACIO" )
								{
									$datos_ave.each(function()
									{
										$('#id_averia').attr("value",$xml_resultado.find("id_averia").text());
										$('#h_id_averia').attr("value",$xml_resultado.find("id_averia").text());
										$('#id_senal').attr("value",$xml_resultado.find("id_senal").text());
										$('#h_id_senal').attr("value",$xml_resultado.find("id_senal").text());
										
										$('#nombre_tipo_sen').attr("value",$xml_resultado.find("nombre_tipo_sen").text());
										$('#nombre_categ_sen').attr("value",$xml_resultado.find("nombre_categ_sen").text());
										$('#nombre_senal_tra').attr("value",$xml_resultado.find("nombre_senal_tra").text());
										
										desc_image_sen = $xml_resultado.find("desc_image_sen").text();
										imprimirImageSenalTra( desc_image_sen );
										
										$('#nombre_estado').attr("value", nombre_estado_base );
										$('#nombre_municipio').attr("value", nombre_municipio_base );
										$('#nombre_parroquia').attr("value",$xml_resultado.find("parroquia").text());
										$('#nombre_sector').attr("value",$xml_resultado.find("sector").text());
										$('#nombre_tipo_via').attr("value",$xml_resultado.find("nombre_tipo_via").text());
										$('#referencia').attr("value",$xml_resultado.find("referencia").text());
										
										$('#observaciones_sen').attr("value",$xml_resultado.find("observaciones_sen").text());
										
										
										var id_status_ave = $xml_resultado.find("id_status_ave").text();
										
										if ( id_status_ave == 1 ) 
										{
											$("#div_datos_ave_consultar").hide();
											
											$('#fecha_averia_mod').attr("value",$xml_resultado.find("fecha_averia").text());
											$('#id_motiv_ave').attr("value",$xml_resultado.find("id_motiv_ave").text());
											$('#id_motiv_ave').selectmenu("refresh",true);
											$('#id_status_ave').attr("value",$xml_resultado.find("id_status_ave").text());
											$('#id_status_ave').selectmenu("refresh",true);
											
											$('#observaciones_ave_mod').attr("value",$xml_resultado.find("observaciones_ave").text());
											
											$('#h_opcion_validacion').attr("value","modificar");
											
											$("#div_datos_ave_modificar").show();
											
											navigator.notification.alert("Información Cargada Exitosamente.", null, acronimo_sistema, "Aceptar");
										}
										else if ( id_status_ave == 2 ) 
										{
											$("#div_datos_ave_modificar").hide();
											
											$('#fecha_averia_con').attr("value",$xml_resultado.find("fecha_averia").text());
											$('#nombre_motiv_ave').attr("value",$xml_resultado.find("nombre_motiv_ave").text());
											$('#nombre_status_ave').attr("value",$xml_resultado.find("nombre_status_ave").text());
											
											$('#fecha_reparacion_con').attr("value",$xml_resultado.find("fecha_reparacion").text());
											
											$('#observaciones_ave_con').attr("value",$xml_resultado.find("observaciones_ave").text());
											
											$('#h_opcion_validacion').attr("value","consultar");
											
											$("#div_datos_ave_consultar").show();
											
											navigator.notification.alert("ATENCIÓN: No se permite Modificar la Avería debido a que esta ya ha sido Reparada.", null, acronimo_sistema, "Aceptar");
										}
									});
								} 
								else 
								{
									limpiarModificarDatosAve();
									navigator.notification.alert("No se encontro una Avería de Señal de Tránsito con el ID indicado.", null, acronimo_sistema, "Aceptar");
								}
							}                  		
							else
							{
								navigator.notification.alert("No hay Descripción de la Avería.", null, acronimo_sistema, "Aceptar");
							}
						}
						else
						{
							navigator.notification.alert("No hay Respuesta del Servicio.", null, acronimo_sistema, "Aceptar");
						}
					}
				});
				
				//navigator.notification.alert("Avería de la Señal de Tránsito Consultada Existosamente para Modificar. (SERVICIO)", null, acronimo_sistema, "Aceptar");
			
			// Si no Hay Conexión con el Servidor
			} else {
				
				if ( debbugModeDM ) {
					// Se consultan los Datos de la Avería LOCALMENTE (Funcion deshabilitada)
					consultarModificarDatosAve( id_averia, id_senal );
					navigator.notification.alert("Avería de la Señal de Tránsito Consultada Existosamente para Modificar. (LOCALMENTE)", null, acronimo_sistema, "Aceptar");
					
				} else {
					navigator.notification.alert("ATENCIÓN: No se pudo Consultar la Avería de la Señal de Tránsito para Modificar debido a que actualmente no hay Conexión.", null, acronimo_sistema, "Aceptar");
				}
			}
		} else {
			// DATA DE ENTRADA NO VALIDA
		}
	});
	
	
	$('#modificar').click(function()
	{
		var validacion = modificar_averia();
		if ( validacion ) {
			
			/*
			// Validamos la Conexión con el Servidor
			var conexion = checkConnection();
			
			// Si Hay Conexión con el Servidor -> Llamamos al Servicio
			if ( conexion ) {
			*/	
			
			// Si Hay Conexión con el Servidor -> Llamamos al Servicio
			if ( localStorage['hay_conexion'] == "true" )
			{
			
				// Llamamos al Servicio
				var ajaxManager = $.manageAjax.create('cola_ajax',{manageType: 'queue', maxReq: 0, blockSameRequest:true});
				
				ajaxManager.add({
					type: "POST",
					url:  url_servicio_averia,
					data: "servicio=modificar_averia"+"&"+
						  "id_municipio_base="+id_municipio_base+"&"+
						  "id_opcion="+id_opcion+"&"+
						  "id_averia="+h_id_averia+"&"+
						  "id_motiv_ave="+id_motiv_ave+"&"+
						  "id_status_ave="+id_status_ave+"&"+
						  "login_reparacion="+login_usuario+"&"+
						  "fecha_reparacion="+fecha_reparacion+"&"+
						  "observaciones="+observaciones_ave+"&"+
						  "device_uuid="+device.uuid+"&"+
						  "device_platform="+device.platform+"&"+
						  "login_registro="+login_usuario,
					dataType: 'xml',
					success: function(response_xml)
					{
						$xml_resultado = $(response_xml);
						$status = $xml_resultado.find("status");
						
						if($status.length)
						{
							$status.each(function()
							{
								if($(this).text()=="S")
								{
									
								}
								else if($(this).text()=="N")
								{
									
								}
							});
							
							$descripcion = $xml_resultado.find("descripcion");
							
							if($descripcion.length)
							{
								$descripcion.each(function()
								{
									navigator.notification.confirm($(this).text(), irSubMenuAve, acronimo_sistema, "Aceptar,");
								});
							}                  		
							else
							{
								navigator.notification.alert("No hay Descripción del Estatus.", null, acronimo_sistema, "Aceptar");
							}
						}
						else
						{
							navigator.notification.alert("No hay Respuesta del Servicio.", null, acronimo_sistema, "Aceptar");
						}
					}
				});
	
				//navigator.notification.alert("Avería de la Señal de Tránsito Modificada Existosamente. (SERVICIO)", null, acronimo_sistema, "Aceptar");
			
			// Si no Hay Conexión con el Servidor
			} else {
				
				navigator.notification.alert("ATENCIÓN: No se pudo Modificar la Avería de la Señal de Tránsito debido a que actualmente no hay Conexión.", null, acronimo_sistema, "Aceptar");
				
				// Se Modifican los Datos de la Avería LOCALMENTE (Funcion deshabilitada)
				//navigator.notification.alert("Avería de la Señal de Tránsito Modificada Existosamente. (LOCALMENTE)", null, acronimo_sistema, "Aceptar");
			}
		} else {
			// DATA DE ENTRADA NO VALIDA
		}
	});
});


// pageinit
$('#modificarAveria').live('pageinit',function(event) {
	
	// OnChange
	
});


// pageshow
$( '#modificarAveria' ).live( 'pageshow',function(event){
	
});


// =================================================================================================================
// ==================================== Consulta para Modificar una Avería =========================================
// =================================================================================================================

function consultar_modificar_averia() {
    
	id_averia 				= $('#id_averia').val();
	id_senal 				= $('#id_senal').val();
	
    if ( id_averia == "" ) {
        navigator.notification.alert("Debe indicar el ID de la Avería a Modificar", null, acronimo_sistema, "Aceptar");									return false;
    } else if ( !IsNumeric(id_averia) ) {
        navigator.notification.alert("El ID de la Avería a Modificar debe ser un Número", null, acronimo_sistema, "Aceptar");							return false;
	
    } else {
        return true;
    }
}


// =================================================================================================================
// =========================================== Modificar una Avería ================================================
// =================================================================================================================

function modificar_averia() {
    
	var opcion_validacion 	= $('#h_opcion_validacion').val();
	
	if ( opcion_validacion == "modificar" ) 
	{
		id_opcion				= $('#id_opcion').val();
	
		h_id_averia 			= $('#h_id_averia').val();
		h_id_senal 				= $('#h_id_senal').val();
		id_motiv_ave 			= $('#id_motiv_ave').val();
		id_status_ave 			= $('#id_status_ave').val();
		fecha_reparacion 		= $('#fecha_reparacion_mod').val();
		observaciones_ave	 	= $('#observaciones_ave_mod').val();
			
		if ( h_id_averia == "" ) {
			navigator.notification.alert("Debe consultar la Avería a Modificar", null, acronimo_sistema, "Aceptar");										return false;
		
		} else if ( id_motiv_ave == "" ) {
			navigator.notification.alert("Debe indicar el Motivo de la Avería", null, acronimo_sistema, "Aceptar");											return false;
			
		} else if ( id_status_ave == "" ) {
			navigator.notification.alert("Debe indicar el Estatus de la Avería", null, acronimo_sistema, "Aceptar");										return false;
		
		} else if ( id_status_ave == "2" && fecha_reparacion == "" ) {
			navigator.notification.alert("Debe indicar la Fecha de Reparación de la Avería", null, acronimo_sistema, "Aceptar");							return false;
		
		} else {
			// navigator.notification.confirm("ATENCIÓN: ¿Esta seguro de que desea Modificar la Avería de la Señal de Tránsito?", null, acronimo_sistema, "Aceptar,Cancelar")
			if ( window.confirm ("ATENCIÓN: ¿Esta seguro de que desea Modificar la Avería de la Señal de Tránsito?") ) {
				return true;
			} else {
				navigator.notification.alert("La Modificación de la Avería de la Señal de Tránsito ha sido cancelado.!", null, acronimo_sistema, "Aceptar");
				return false;
			}
		}
	}
	else if ( opcion_validacion == "consultar" ) 
	{
		navigator.notification.alert("ATENCIÓN: No se permite Modificar la Avería debido a que esta ya ha sido Reparada.", null, acronimo_sistema, "Aceptar");
		return false;
	}
}